USBIsocRead
Isochronous data transfers are supported in version 1.1 and higher of the Mac OS USB software.
The
USBIsocRead
function supports isochronous read data transfers, and is defined as follows:
OSStatus USBIsocRead(USBIsocPB *pb);
Required fields in the isochronous version of the
USBPB
parameter block for the
USBIsocRead
function are
-
--> pbLength
-
Length of parameter block
-
--> pbVersion
-
Parameter block version, must be
kUSBIsocPBVersion
for isochronous function calls
-
<--usbStatus
-
Aggregate status, see discussion in
The Isochronous Version Of The USBPB
-
--> usbCompletion
-
The completion routine
-
--> usbRefcon
-
General-purpose value passed back to the completion routine
-
--> usbReference
-
The isochronous pipe reference returned by the
USBFindNextPipe
function
-
--> usbReqCount
-
Specifies the size of the data to transfer. May be any size, but no less than the sum of the individual packets sizes. If set to 0, any non-zero size transfer causes an error.
-
--> usbBuffer
-
Points to a buffer to which the incoming data is transferred
-
<-- usbActCount
-
Specifies the actual amount of data transferred on completion
-
--> usbFlags
-
Should be set to 0
-
--> usb.isoc.FrameList
-
Pointer to the list of frame structures
-
--> frReqCount
Number of bytes requested for each packet
-
-
<-- frStatus
Status returned by packet
-
-
<-- frActCount
Actual bytes transferred by packet
-
-
--> usb.isoc.NumFrames
-
Number of frames to attempt transfers in
-
--> usbFrame
-
Frame number of the first frame to transfer data
A complete discussion of how isochronous support is implemented and additional details about using the fileds in the isochronous version of the USBPB parameter block can be found in
Using the USBPB For Isochronous Transactions
.
© 1999 Apple Computer, Inc. Previous | Back Up One Level | Next | Show Frames | Hide Frames